package com.sumainfor.pc.epc.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author PuaChen
 * @Create 2018-11-22 9:55
 */
public interface SupplierManageMapper {

    /**
     * 获得供应商的所有信息
     *
     * @param page
     * @param params
     * @return
     */
    IPage<Map<String, Object>> selectSupplierList(Page page, @Param("map") Map<String, Object> params);

    /**
     * 查询这个供应商 通过供应商的编号
     *
     * @param supId
     * @return
     */
    Map<String, Object> getSupplierOne(String supId);

    /**
     * 更新供应商的信息
     *
     * @param params
     * @return
     */
    int updateSupplier(Map<String, Object> params);

    /**
     * 根据型号的编号去查询所有商品信息
     *
     * @param page
     * @param ids
     * @param where 条件
     *              type  类别
     *              shopName  商品的名称
     *              brand 商品的品牌
     * @return
     */
    IPage<Map<String, Object>> selectBindShopMoList(Page page, @Param("ids") List<String> ids, @Param("map") Map<String, Object> where);

    /**
     * 根据供应商的编号去查询采购记录信息
     * 参数:
     * supId 必须参数
     * shopName 商品名称
     * date 时间
     *
     * @param page
     * @param where
     * @return
     */
    IPage<Map<String, Object>> selectBuyerLogsBySupplierId(Page page, @Param("map") Map<String, Object> where);

    /**
     * 新增插入供应商
     *
     * @param params
     * @return
     */
    int insertSupplier(Map<String, Object> params);

    /**
     * 查询供应商的编号是否有重复值
     *
     * @param supId
     * @return
     */
    int getSupplierIdCount(String supId);

    /**
     * 根据供应商的编号获得 所有的采购商品的名称  下拉列表
     *
     * @param supId
     * @return
     */
    List<String> getBuyerShopNames(String supId);

    /**
     * 插入 硬装供应商 收费套型 价格
     *
     * @param params
     * @return
     */
    int insertSupplierPrice(Map<String, Object> params);

    /**
     * 根据供应商的编号查询硬装供应商收费类型
     *
     * @param supId
     * @return
     */
    List<Map<String, Object>> selectSupplierPriceBySupId(String supId);

    /**
     * 功能描述:
     * 获取所有的供应商列表
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/7/3 11:55
     */
    List<Map<String,Object>>getSupplierList();

    /**
     * 功能描述:
     * 获取工程部结算单申请打款所有的供应商列表
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/7/3 11:55
     */
    List<Map<String,Object>>getStatementSupplierList();
}
